1. Menjembatani Jurang: Dasar-Dasar Pemuatan Data
Model Deep Learning berkembang pesat dengan data yang bersih dan konsisten, tetapi dataset dunia nyata pada dasarnya berantakan. Kita harus beralih dari benchmark siap pakai (seperti MNIST) ke pengelolaan sumber data tak terstruktur di mana pemuatan data sendiri merupakan tugas kompleks yang perlu diatur secara cermat. Fondasi dari proses ini terletak pada alat khusus PyTorch untuk manajemen data.
Tantangan utama adalah mengubah data mentah dan tersebar (gambar, teks, file audio) yang disimpan di disk menjadi format PyTorch yang sangat terorganisir dan standar,format Tensoryang diharapkan oleh GPU. Ini membutuhkan logika khusus untuk indeksing, pembebanan, pra-pemrosesan, dan akhirnya pembagian dalam batch.
Tantangan Utama dalam Data Dunia Nyata
- Kekacauan Data: Data tersebar di berbagai direktori, sering kali hanya diindeks melalui file CSV.
- Pra-pemrosesan Diperlukan: Gambar mungkin memerlukan penyesuaian ukuran, normalisasi, atau augmentasi sebelum dikonversi menjadi tensor.
- Tujuan Efisiensi: Data harus dikirim ke GPU dalam batch yang dioptimalkan dan tidak menahan (non-blocking) agar kecepatan pelatihan maksimal.
Solusi PyTorch: Memisahkan Tugas
PyTorch menerapkan pemisahan tanggung jawab: objek
Dataset menangani "apa" (bagaimana mengakses satu sampel dan label), sedangkan objek DataLoader menangani "bagaimana" (pembagian batch yang efisien, pengacakan, dan pengiriman multithreaded).
TERMINALbash — data-env
> Siap. Klik "Jalankan" untuk menjalankan.
>
Pemeriksa TensorLangsung
Jalankan kode untuk memeriksa tensor aktif
Pertanyaan 1
Apa peran utama dari objek PyTorch
Datasetobjek?Pertanyaan 2
Parameter apa yang
DataLoadermemungkinkan pemuatan data secara paralel menggunakan beberapa core CPU?Pertanyaan 3
Jika gambar mentah Anda memiliki ukuran yang berbeda-beda, komponen apa yang bertanggung jawab utama dalam menyesuaikan ukurannya ke dimensi yang seragam (misalnya, $224 \times 224$)?
Tantangan: Blueprints Pemuat Gambar Kustom
Tentukan struktur yang dibutuhkan untuk klasifikasi gambar dunia nyata.
Anda sedang membuat sebuah
CustomDataset untuk 10.000 gambar yang diindeks oleh satu file CSV yang berisi jalur dan label.
Langkah 1
Metode wajib apa yang harus mengembalikan jumlah total sampel?
Solusi:
Metode
Konsep: Menentukan ukuran epoch.
Metode
__len__metode.Konsep: Menentukan ukuran epoch.
Langkah 2
Apa urutan operasi yang benar di dalam
__getitem__(self, index)?Solusi:
1. Cari jalur file menggunakan
2. Muat data mentah (misalnya, Gambar).
3. Terapkan transformasi yang diperlukan
4. Kembalikan Tensor yang telah diproses dan Label.
1. Cari jalur file menggunakan
indeks.2. Muat data mentah (misalnya, Gambar).
3. Terapkan transformasi yang diperlukan
transformasi.4. Kembalikan Tensor yang telah diproses dan Label.